home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1996 February / EnigmA AMIGA RUN 04 (1996)(G.R. Edizioni)(IT)[!][issue 1996-02][Skylink CD III].iso / earcd / program / esyrxv30.lha / EasyRexx / Includes / Modula-2 / Notes.txt < prev   
Text File  |  1995-11-09  |  2KB  |  80 lines

  1.  
  2. ---------------------------------------------
  3. EasyRexx Benchmark Modula-2 Translation Notes
  4. 11/5/95
  5. ---------------------------------------------
  6.  
  7. REQUIREMENTS
  8.  
  9.    > Benchmark M2 compiler v1 or higher
  10.    > Benchmark M2 Interface for AmigaDOS v2.04 or higher
  11.  
  12. Interface Definition Translation
  13.  
  14.    > Removed underscores from identifiers.
  15.  
  16.    > ARexxContext and ARexxCommandShell are hidden types. Fields accessed only
  17.      via functions from this interface.
  18.  
  19.    > C macros are procedures.
  20.  
  21.    > C static initialization of recording pointer is a pair
  22.      of Create/Free procedures.
  23.  
  24.    > No variable-number-of-parameters procedures.
  25.  
  26. Interface Implementation
  27.  
  28.    > Resident library link via stub routines.
  29.  
  30. Protos Translation
  31.  
  32.    > Define an additional identifier, AREXXENDTABLE, the index of the
  33.      last entry in the command table.
  34.  
  35.    > The main program needs a name.
  36.  
  37.    > Command table's initialization is done by a call to an initializier
  38.      procedure.
  39.  
  40.    > Utilizes library base from implementation, and relies on that module's
  41.      initialization to start it out at NIL.
  42.  
  43. M2 Syntax Notes
  44.  
  45.    > CASE (switch) statement case separation marker is "|". Put one after each case as you
  46.      would a break;
  47.  
  48.      eg,    CASE i OF
  49.                0: a := b+1;
  50.                   c := d+2;
  51.                   |
  52.                1: a := d+1;
  53.                   |
  54.                2: a := d+2;
  55.                   c := b+1;
  56.             END;
  57.  
  58.  
  59. Files
  60.  
  61.    > EasyRexx.def  - definition module for EasyRexx library.
  62.    > EasyRexx.mod  - implementation module for calling EasyRexx library.
  63.  
  64.    > Funcs.mod     - template of procedure variable processing code generation
  65.    > IDS.mod       - template of case statement processing code generation
  66.  
  67.    > TstFuncs      - program using procedure variable processing
  68.    > TstMacros     - program using case statement processing
  69.    > TstShell      - program opening an arexx console
  70.    > TstPointer    - program displaying "recording" pointer
  71.  
  72.    > Assembly3.def/mod   - support module for EasyRexx.mod
  73.  
  74.    > Assertions0.def/mod - support module for some of the test programs
  75.    > Str0.def/mod        - support module for some of the test programs
  76.    > Str1.def/mod        - support module for some of the test programs
  77.    > TagsUtils.def/mod   - support module for some of the test programs
  78.  
  79.    > Notes.txt     - this file
  80.